
* Just the Results (See Other Do-Files for details on variable coding / source etc.)


********* Data Analysed using Stata14 *********

clear all

global finaldata "C:\Users\zack\Documents\CrisisPaperReplicationData"     //* Alter accordingly to location of data.



******************************************** STUDY 1 + APPENDIX D *********************************************

* import data, sort and declare as panel data *  //* Note results are robust to adding GDP/Lagged GDP per Capita as an additional control.
   
use "$finaldata\Part1_FinalData.dta"  
version 14
set more off, perm
set scrollbufsize 300000
graph set window fontface "Times New Roman"


sort FEcountry edate
tsset FEcountry edate   
xtsum voteper_ASparties   
   
set more off, perm
numlabel, add
graph set window fontface "Times New Roman"
set scrollbufsize 300000
set scheme s1mono   
	  
******************************* TABLE 1  ***********************************

* Models 1a - 1d: Pooled OLS w/ Clustered Standard Errors *

   reg voteper_ASparties lag_growth GEN_MainstreamPolarisation, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, vce(cluster FE) 
	  
* Models 2a - 2d: Fixed Effects *
   
   xtreg voteper_ASparties   lag_growth    GEN_MainstreamPolarisation, fe 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation, fe 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, fe 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, fe 

         * To get correct R^2 Stat, run again manually
		   
			  reg voteper_ASparties   lag_growth    GEN_MainstreamPolarisation i.FE
              reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation i.FE
			  reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE
              reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 i.FE
     
			  
* Table 1: Modesl 3a - 3d: Random Effects 
   
   xtreg voteper_ASparties   lag_growth    GEN_MainstreamPolarisation, re 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation, re 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, re 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, re 


  * Hausman Tests of No Systematic Difference Between Fixed and Random Effects Models *
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, fe 
   estimate store fe
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, re 
   estimates store re
  
   hausman fe re


 ******************************** ARTICLE FIGURES *******************************************  
   
reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, vce(cluster FE) 
gen used = e(sample)  		 
			 
sum lag_growth if used == 1, det
sum GEN_MainstreamPolarisation if used == 1, det		 
			   
   
* FIGURE 5: Predicted Margins

   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, vce(cluster FE) 
	     	 
   graph set window fontface "Times New Roman"
   margins, at(lag_growth =(-10(1)12) GEN_MainstreamPolarisation = (0.55 2.05)) atmeans
			  
   marginsplot, plot(, label("{bf:Converged} ({it:1 SD Below Mean Mainstream Polarisation Score})" "{bf:Polarised} ({it:1 SD Above Mean Mainstream Polarisation Score})")) ///
			  scheme(s2mono) recastci(rarea) ylabel(0 (5) 25, nogrid val angle(0) labsize(small)) ///
			  xlabel (,nogrid val angle(0) labsize(small)) xtitle(" " "{bf:Lagged GDP Growth (%)}", ///
			  size(small)) ytitle("{bf:Predicted}" "{bf:Vote (%)}" " ", size(small) orientation(horizontal) linegap(1)) ///
			  legend(position(1) ring(0) rows(2) size(2)  title("{bf:Degree of Mainstream Party Polarisation}", size (vsmall) )) ///
			  plot1opts (msymbol(i) lpattern(dash) lwidth(medthick))  ///
			  plot2opts (msymbol(i) lpattern(solid) lwidth(medthick))  ///
			  plotregion(fcolor(white)) graphregion(fcolor(white)) ///
			  title("{bf:Figure 3.1:} Predicted Anti-System Party Vote Share" "{it:By Lagged GDP Growth and Degree of Mainstream Party Ideological Polarisation}", size(small) linegap(2)) ///
			  note("{bf:Note}: Margin Estimates and 95% Confidence Intervals from {it:Table 1, Model 1d} (Pooled OLS Model with Country-Clustered Standard Errors)" "          {it:N = 393 General Elections in 22 Advanced Democracies, 1950 - 2016}", size(vsmall) color(black) linegap(1)) ///
			  addplot(hist lag_growth, width(1)  ///
			  blcolor(black) fcolor(%20) lc(black%10) ///
			  percent  ///
			  yaxis(2)   ////
			  yscale(alt axis(2)) ///
			  ylabel(0 "0%" 5 "5%" 10 "10%" 15 "15%" 20 "20%" 25 " " 30 " " 35 " " 40 " " 45 " " 50 " ", ///
			  labcolor() axis(2) tlcolor(black) tlwidth(thin) labsize(small)) ///
			  ytitle(" " axis(2)) ///
			  legend(order( 3 "Converged" 4 "Polarised" 5 "Distribution of Elections")))


* FIGURE 6:  Predicted Margins			  
margins, at(lag_growth =(0.35871 5.00376) GEN_MainstreamPolarisation = (0.55 2.05)) atmeans
			  
 
******************************************************** ARTICLE APPENDIX *******************************************
 
 
**** TABLE D.1:  Replication of Table 1 Using Only Mainstream Polarisation on the Economic L-R Dimension 
   
   
   * Models 1a - 1d Pooled OLS w/ Clustered Standard Errors

   reg voteper_ASparties lag_growth ECON_MainstreamPolarisation, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib7.year_10, vce(cluster FE)
   
   * Models 2a - 2d : Fixed Effects  
   
   xtreg voteper_ASparties   lag_growth    ECON_MainstreamPolarisation, fe 
   xtreg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation, fe 
   xtreg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, fe 
   xtreg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib7.year_10, fe 

         * To get correct R^2 Stat, run again manually
		   
		      reg voteper_ASparties   lag_growth    ECON_MainstreamPolarisation i.FE
              reg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation i.FE
			  reg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE
              reg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib7.year_10 i.FE
        
   * Models 3a - 3d: Random Effects
   
   xtreg voteper_ASparties   lag_growth    ECON_MainstreamPolarisation, re 
   xtreg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation, re 
   xtreg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, re 
   xtreg voteper_ASparties c.lag_growth##c.ECON_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib7.year_10, re  

   *** Essentially no change. Note corr between ECON and GEN == 0.80, ECON and SOC == 0.15, GEN AND SOC == 0.24.
  
 *******************************************************************************************************
 
 
  *** TABLE D.2: Replication of Table 1 Using Only Polarisation of Left and Rightmost Mainstream Parties
   
   
  * Models 1a - 1d Pooled OLS w/ Clustered Standard Errors

   reg voteper_ASparties lag_growth ms_maxrange, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ms_maxrange, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, vce(cluster FE)
   
   * Models 2a - 2d : Fixed Effects  
   
   xtreg voteper_ASparties   lag_growth    ms_maxrange, fe 
   xtreg voteper_ASparties c.lag_growth##c.ms_maxrange, fe 
   xtreg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, fe 
   xtreg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, fe 

         * To get correct R^2 Stat, run again manually
		   
		      reg voteper_ASparties   lag_growth    ms_maxrange i.FE
              reg voteper_ASparties c.lag_growth##c.ms_maxrange i.FE
			  reg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE
              reg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 i.FE
        
   * Models 3a - 3d: Random Effects
   
   xtreg voteper_ASparties   lag_growth    ms_maxrange, re 
   xtreg voteper_ASparties c.lag_growth##c.ms_maxrange, re 
   xtreg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, re 
   xtreg voteper_ASparties c.lag_growth##c.ms_maxrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, re  

 
   * Essentially no difference with my primary model.
   
 
****************************************************************************************************************************************************  
 
 
   *** TABLE D.3: Replication of Table 1 Using Only Polarisation of Largest Mainstream Parties
   
   
   * Models 1a - 1d Pooled OLS w/ Clustered Standard Errors

   reg voteper_ASparties lag_growth ms_bigrange, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ms_bigrange, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, vce(cluster FE)
   
   * Models 2a - 2d : Fixed Effects  
   
   xtreg voteper_ASparties   lag_growth    ms_bigrange, fe 
   xtreg voteper_ASparties c.lag_growth##c.ms_bigrange, fe 
   xtreg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, fe 
   xtreg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, fe 

         * To get correct R^2 Stat, run again manually
		   
		      reg voteper_ASparties   lag_growth    ms_bigrange i.FE
              reg voteper_ASparties c.lag_growth##c.ms_bigrange i.FE
			  reg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE
              reg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 i.FE
        
   * Models 3a - 3d: Random Effects
   
   xtreg voteper_ASparties   lag_growth    ms_bigrange, re 
   xtreg voteper_ASparties c.lag_growth##c.ms_bigrange, re 
   xtreg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, re 
   xtreg voteper_ASparties c.lag_growth##c.ms_bigrange log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, re  

 
****************************************************************************************************************
 
  *** TABLE D.4: Replication of Table 1 Using a Logged Dependent Variable
 
  * Models 1a - 1d: Pooled OLS w/ Clustered Standard Errors *

   reg logged_ASvot lag_growth GEN_MainstreamPolarisation, vce(cluster FE)
   reg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation, vce(cluster FE)
   reg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, vce(cluster FE)
   reg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, vce(cluster FE) 

* Table 1, Models 2a - 2d: Fixed Effects *
   
   xtreg logged_ASvot   lag_growth    GEN_MainstreamPolarisation, fe 
   xtreg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation, fe 
   xtreg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, fe 
   xtreg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, fe 

         * To get correct R^2 Stat, run again manually
		   
			  reg logged_ASvot   lag_growth    GEN_MainstreamPolarisation i.FE
              reg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation i.FE
			  reg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE
              reg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 i.FE
       
  
   xtreg logged_ASvot   lag_growth    GEN_MainstreamPolarisation, re 
   xtreg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation, re 
   xtreg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo, re 
   xtreg logged_ASvot c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10, re 
  
   
**********************************************************************************************************************  
   
  *** TABLE D.5: Replication with a Lagged Dependent Variable *****
 
 * Models 1a - 1d: Pooled OLS w/ Clustered Standard Errors *

   reg voteper_ASparties lag_growth GEN_MainstreamPolarisation lag_ASP, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation lag_ASP, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo lag_ASP, vce(cluster FE)
   reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 lag_ASP, vce(cluster FE) 

* Models 2a - 2d: Fixed Effects *
   
   xtreg voteper_ASparties   lag_growth    GEN_MainstreamPolarisation lag_ASP, fe 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation lag_ASP, fe 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo lag_ASP, fe 
   xtreg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 lag_ASP, fe 
		 
		 	  reg voteper_ASparties   lag_growth    GEN_MainstreamPolarisation lag_ASP i.FE
              reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation lag_ASP i.FE
			  reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation lag_ASP log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE
              reg voteper_ASparties c.lag_growth##c.GEN_MainstreamPolarisation lag_ASP log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo ib1.year_10 i.FE
 
 
**********************************************************************************************************************  
   
  *** TABLE D.6: ASP Support In and Outside Recessions *****
 
 
   reg voteper_ASparties GEN_MainstreamPolarisation   log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo if recession == 0

   reg voteper_ASparties GEN_MainstreamPolarisation   log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo if recession == 1


 
 
  reg voteper_ASparties GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE if recession == 0

  reg voteper_ASparties GEN_MainstreamPolarisation log_lenep log_lopen log_lagGDPpc log_thresh decentralisation GroKo i.FE if recession == 1

 


 
 
 
 ******************************************** STUDY 2 + APPENDIX F *********************************************

* import data, sort and declare as panel data *  //* Note results are robust to adding GDP/Lagged GDP per Capita as an additional control.

clear all
use "$finaldata\Part2_FinalData.dta"  
version 14
set more off, perm
set scrollbufsize 300000
graph set window fontface "Times New Roman"

 
************************************************************************* MAIN ARTICLE MODELS **********************************************************************************************   
 
  
******************************* TABLE 2  ***********************************  
  
  
* Model C
gllamm unified_votechoice unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55 unified_selfradical PID62 PID63 PID64 PID65 PID66, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
gen in_model_1 =e(sample)

* Null Model
gllamm unified_votechoice                                                                                                                                                                                                                                  if in_model_1 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model A                                                                                          
gllamm unified_votechoice unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth                                                                                                                                                              if in_model_1 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model B    
gllamm unified_votechoice unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth  unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55                                                                          if in_model_1 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots



*******************************  TABLE 3 ***********************************


gllamm unified_votechoice unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55 unified_selfradical PID62 PID63 PID64 PID65 PID66, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
gen in_model_2 =e(sample)

* Null Model
gllamm unified_votechoice                                                                                                                                                                                                    if in_model_2 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model A
gllamm unified_votechoice unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge                                                                                                                                 if in_model_2 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model B
gllamm unified_votechoice unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge  unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55                                             if in_model_2 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots


 


******************************************************** ARTICLE APPENDIX *******************************************
 



 *** Table F.1:  Rep of Table 2 with 5 Category DV

gllamm unified_votechoice2 unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55 unified_selfradical PID52 PID53 PID54 PID55, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
gen in_model_3 =e(sample)

gllamm unified_votechoice2                                                                                                                                                                                                                                  if in_model_3 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots

gllamm unified_votechoice2 unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth                                                                                                                                                              if in_model_3 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots

gllamm unified_votechoice2 unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth  unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55                                             if in_model_3 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots


 
  *** Table F.2:  Rep of Table 2 with Upper-Level Controls 

  
 * Model C
gllamm unified_votechoice unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth LEVEL2_GDPpcLag LEVEL2_ElectoralThresholdLog unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55 unified_selfradical PID62 PID63 PID64 PID65 PID66, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
gen in_model_4 =e(sample)

* Null Model
gllamm unified_votechoice                                                                                                                                                                                                                                  if in_model_4 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model A                                                                                          
gllamm unified_votechoice unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth LEVEL2_GDPpcLag LEVEL2_ElectoralThresholdLog                                                                                                                                                             if in_model_4 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model B    
gllamm unified_votechoice unified_MSpolarisation LEVEL2_EconGrowthLag Interaction_PolarGrowth LEVEL2_GDPpcLag LEVEL2_ElectoralThresholdLog unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55                                                                          if in_model_4 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots


 
 
*** Table F.4: Rep of Table 3 with 5-Category DV

gllamm unified_votechoice2 unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55 unified_selfradical PID52 PID53 PID54 PID55, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots
gen in_model_5 =e(sample)

gllamm unified_votechoice2                                                                                                                                                                                             if in_model_5 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots

gllamm unified_votechoice2 unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge                                                                                                                                 if in_model_5 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots

gllamm unified_votechoice2 unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge  unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55                                             if in_model_5 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt  dots


 
 
 *** Table F.5: Rep of Table 3 with Upper-Level Controls
 
gllamm unified_votechoice unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge LEVEL2_GDPpcLag LEVEL2_ElectoralThresholdLog unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55 unified_selfradical PID62 PID63 PID64 PID65 PID66, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
gen in_model_6 =e(sample)

* Null Model
gllamm unified_votechoice                                                                                                                                                                                                    if in_model_6 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model A
gllamm unified_votechoice unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge  LEVEL2_GDPpcLag LEVEL2_ElectoralThresholdLog                                                                                                                                if in_model_6 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots
* Model B
gllamm unified_votechoice unified_econpos LEVEL2_MSPOLAR Interaction_EconVoteConverge  LEVEL2_GDPpcLag LEVEL2_ElectoralThresholdLog unified_gender age41 age42 age44 educ31 educ33 income51 income52 income54 income55                                             if in_model_6 == 1, base(1) link(mlogit) fam(binomial) i(unified_countrysurveyFE) nip(8) adapt dots


 
